/////////////////////////////////////////////////////////////////////////
//
// Amuse Engine - graphics/scene
// Copyright (c) 2015.  All Rights Reserved
//
// File:		AESceneManagerI.cpp
// Author:		Gianluca Belardelli
// Date:		30/06/2015
//
/////////////////////////////////////////////////////////////////////////
#include <AEEngine.h>

AESceneManagerI::AESceneManagerI( void )
{
	m_arrVisibilityZones.Reserve( 128 );
}

AESceneManagerI::~AESceneManagerI( void )
{
	m_arrVisibilityZones.ClearAndDeallocate();
}

void AESceneManagerI::AddVisibilityZone( AEVisibilityZone *lpZone )
{
	m_arrVisibilityZones.PushBack( lpZone );
}

void AESceneManagerI::RemoveVisibilityZone( AEVisibilityZone *lpZone )
{
	const AEINT32 nIdx = m_arrVisibilityZones.IndexOf( lpZone );
	
	AEASSERT( nIdx > -1 );
	m_arrVisibilityZones.RemoveAt( nIdx );
}

void AESceneManagerI::RemoveAllVisibilityZones( void )
{
	m_arrVisibilityZones.Clear();
}
